'\" t
.TH "OOMD\&.CONF" "5" "" "systemd 257.1" "oomd.conf"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
oomd.conf, oomd.conf.d \- Global \fBsystemd\-oomd\fR configuration files
.SH "SYNOPSIS"
.PP
.RS 4
/etc/systemd/oomd\&.conf
.RE
.RS 4
/run/systemd/oomd\&.conf
.RE
.RS 4
/usr/local/lib/systemd/oomd\&.conf
.RE
.RS 4
/usr/lib/systemd/oomd\&.conf
.RE
.RS 4
/etc/systemd/oomd\&.conf\&.d/*\&.conf
.RE
.RS 4
/run/systemd/oomd\&.conf\&.d/*\&.conf
.RE
.RS 4
/usr/local/lib/systemd/oomd\&.conf\&.d/*\&.conf
.RE
.RS 4
/usr/lib/systemd/oomd\&.conf\&.d/*\&.conf
.RE
.SH "DESCRIPTION"
.PP
These files configure the various parameters of the
\fBsystemd\fR(1)
userspace out\-of\-memory (OOM) killer,
\fBsystemd-oomd.service\fR(8)\&. See
\fBsystemd.syntax\fR(7)
for a general description of the syntax\&.
.SH "CONFIGURATION DIRECTORIES AND PRECEDENCE"
.PP
The default configuration is set during compilation, so configuration is only needed when it is necessary to deviate from those defaults\&. The main configuration file is loaded from one of the listed directories in order of priority, only the first file found is used:
/etc/systemd/,
/run/systemd/,
/usr/local/lib/systemd/
\&\s-2\u[1]\d\s+2,
/usr/lib/systemd/\&. The vendor version of the file contains commented out entries showing the defaults as a guide to the administrator\&. Local overrides can also be created by creating drop\-ins, as described below\&. The main configuration file can also be edited for this purpose (or a copy in
/etc/
if it\*(Aqs shipped under
/usr/), however using drop\-ins for local configuration is recommended over modifications to the main configuration file\&.
.PP
In addition to the main configuration file, drop\-in configuration snippets are read from
/usr/lib/systemd/*\&.conf\&.d/,
/usr/local/lib/systemd/*\&.conf\&.d/, and
/etc/systemd/*\&.conf\&.d/\&. Those drop\-ins have higher precedence and override the main configuration file\&. Files in the
*\&.conf\&.d/
configuration subdirectories are sorted by their filename in lexicographic order, regardless of in which of the subdirectories they reside\&. When multiple files specify the same option, for options which accept just a single value, the entry in the file sorted last takes precedence, and for options which accept a list of values, entries are collected as they occur in the sorted files\&.
.PP
When packages need to customize the configuration, they can install drop\-ins under
/usr/\&. Files in
/etc/
are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages\&. Drop\-ins have to be used to override package drop\-ins, since the main configuration file has lower precedence\&. It is recommended to prefix all filenames in those subdirectories with a two\-digit number and a dash, to simplify the ordering\&. This also defines a concept of drop\-in priorities to allow OS vendors to ship drop\-ins within a specific range lower than the range used by users\&. This should lower the risk of package drop\-ins overriding accidentally drop\-ins defined by users\&. It is recommended to use the range 10\-40 for drop\-ins in
/usr/
and the range 60\-90 for drop\-ins in
/etc/
and
/run/, to make sure that local and transient drop\-ins take priority over drop\-ins shipped by the OS vendor\&.
.PP
To disable a configuration file supplied by the vendor, the recommended way is to place a symlink to
/dev/null
in the configuration directory in
/etc/, with the same filename as the vendor configuration file\&.
.SH "[OOM] SECTION OPTIONS"
.PP
The following options are available in the [OOM] section:
.PP
\fISwapUsedLimit=\fR
.RS 4
Sets the limit for memory and swap usage on the system before
\fBsystemd\-oomd\fR
will take action\&. If the fraction of memory used and the fraction of swap used on the system are both more than what is defined here,
\fBsystemd\-oomd\fR
will act on eligible descendant control groups with swap usage greater than 5% of total swap, starting from the ones with the highest swap usage\&. Which control groups are monitored and what action gets taken depends on what the unit has configured for
\fIManagedOOMSwap=\fR\&. Takes a value specified in percent (when suffixed with "%"), permille ("‰") or permyriad ("‱"), between 0% and 100%, inclusive\&. Defaults to 90%\&.
.sp
Added in version 247\&.
.RE
.PP
\fIDefaultMemoryPressureLimit=\fR
.RS 4
Sets the limit for memory pressure on the unit\*(Aqs control group before
\fBsystemd\-oomd\fR
will take action\&. A unit can override this value with
\fIManagedOOMMemoryPressureLimit=\fR\&. The memory pressure for this property represents the fraction of time in a 10 second window in which all tasks in the control group were delayed\&. For each monitored control group, if the memory pressure on that control group exceeds the limit set for longer than the duration set by
\fIDefaultMemoryPressureDurationSec=\fR,
\fBsystemd\-oomd\fR
will act on eligible descendant control groups, starting from the ones with the most reclaim activity to the least reclaim activity\&. Which control groups are monitored and what action gets taken depends on what the unit has configured for
\fIManagedOOMMemoryPressure=\fR\&. Takes a fraction specified in the same way as
\fISwapUsedLimit=\fR
above\&. Defaults to 60%\&.
.sp
Added in version 247\&.
.RE
.PP
\fIDefaultMemoryPressureDurationSec=\fR
.RS 4
Sets the amount of time a unit\*(Aqs control group needs to have exceeded memory pressure limits before
\fBsystemd\-oomd\fR
will take action\&. A unit can override this value with
\fIManagedOOMMemoryPressureDurationSec=\fR\&. Memory pressure limits are defined by
\fIDefaultMemoryPressureLimit=\fR
and
\fIManagedOOMMemoryPressureLimit=\fR\&. Must be set to 0, or at least 1 second\&. Defaults to 30 seconds when unset or 0\&.
.sp
Added in version 248\&.
.RE
.SH "SEE ALSO"
.PP
\fBsystemd\fR(1), \fBsystemd.resource-control\fR(5), \fBsystemd-oomd.service\fR(8), \fBoomctl\fR(1)
.SH "NOTES"
.IP " 1." 4
💣💥🧨💥💥💣 Please note that those configuration files must be available at all times. If
/usr/local/
is a separate partition, it may not be available during early boot, and must not be used for configuration.

